bf6bef2b3c5867aac2ab9202d28d3c9a65cff666,src/main/java/org/gbif/ipt/task/GenerateDCAT.java,GenerateDCAT,createDCATCatalogInformation,#,277
Before Change
catalogBuilder.append(" a dcat:Catalog");
//dct:title
if (ipt != null) {
addPredicateToBuilder(catalogBuilder, "dct:title");
addObjectToBuilder(catalogBuilder, org.getName(), ObjectTypes.LITERAL);
} else {
LOG.error("IPT is null, can't get title");
}
//dct:description
if (ipt != null) {
addPredicateToBuilder(catalogBuilder, "dct:description");
addObjectToBuilder(catalogBuilder, org.getDescription(), ObjectTypes.LITERAL);
} else {
LOG.error("IPT is null, can't get description");
}
//dct:publisher
if (ipt != null && ipt.getKey() != null) {
addPredicateToBuilder(catalogBuilder, "dct:publisher");
String publisher = PUBLISHER_BASELINK + org.getKey() + "#Organization";
addObjectToBuilder(catalogBuilder, publisher, ObjectTypes.RESOURCE);
}
//dcat:dataset
if (!uris.isEmpty()) {
addPredicateToBuilder(catalogBuilder, "dcat:dataset");
addObjectsToBuilder(catalogBuilder, uris, ObjectTypes.RESOURCE);
}
//foaf:homepage
if (cfg != null && cfg.getBaseUrl() != null) {
addPredicateToBuilder(catalogBuilder, "foaf:homepage");
addObjectToBuilder(catalogBuilder, cfg.getBaseUrl(), ObjectTypes.RESOURCE);
}
//dct:issued
if (firstPublishedDatePresent) {
addPredicateToBuilder(catalogBuilder, "dct:issued");
addObjectToBuilder(catalogBuilder, parseToIsoDate(firstCreation), ObjectTypes.LITERAL);
}
//dct:modified
if (lastPublishedDatePresent) {
addPredicateToBuilder(catalogBuilder, "dct:modified");
addObjectToBuilder(catalogBuilder, parseToIsoDate(lastModification), ObjectTypes.LITERAL);
}
//dcat:themeTaxonomy
addPredicateToBuilder(catalogBuilder, "dcat:themeTaxonomy");
String themeTaxonomy = THEME_TAXONOMY_URI;
themeTaxonomies.add(encapsulateObject(THEME_TAXONOMY_URI, ObjectTypes.RESOURCE) + " a skos:ConceptScheme ; dct:title \"" + CATALOG_THEME_TITLE + "\"@en .");
addObjectToBuilder(catalogBuilder, themeTaxonomy, ObjectTypes.RESOURCE);
//dct:rights
addPredicateToBuilder(catalogBuilder, "dct:license");
addObjectToBuilder(catalogBuilder, CATALOG_RIGHTS, ObjectTypes.RESOURCE);
//dct:spatial
if (cfg.getLongitude() != null && cfg.getLatitude() != null) {
addPredicateToBuilder(catalogBuilder, "dct:spatial");
String spatial = " a dct:Location ; locn:geometry \"" + "{ \\\"type\\\": \\\"Point\\\", \\\"coordinates\\\": [ "
+ cfg.getLongitude() + "," + cfg.getLatitude()
+ " ] }\" ";
addObjectToBuilder(catalogBuilder, spatial, ObjectTypes.OBJECT);
} else {
LOG.info("No spatial data defined for the IPT");
}
//dct:language
addPredicateToBuilder(catalogBuilder, "dct:language");
addObjectToBuilder(catalogBuilder, LANGUAGE_LINK + "en", ObjectTypes.RESOURCE);
catalogBuilder.append(" .\n");
catalogBuilder.append("\n");
After Change
catalogBuilder.append(" a dcat:Catalog");
String publisherBaselink = settings.get(PUBLISHER_BASELINK_KEY);
if (ipt != null && publisherBaselink != null) {
//dct:title
addPredicateToBuilder(catalogBuilder, "dct:title");
addObjectToBuilder(catalogBuilder, ipt.getName(), ObjectTypes.LITERAL);
//dct:description
if (ipt.getDescription() != null) {
addPredicateToBuilder(catalogBuilder, "dct:description");
addObjectToBuilder(catalogBuilder, ipt.getDescription(), ObjectTypes.LITERAL);
} else {
LOG.debug("IPT description is null");
}
//dct:publisher
addPredicateToBuilder(catalogBuilder, "dct:publisher");
String publisher = publisherBaselink + ipt.getOrganisationKey() + "#Organization";
addObjectToBuilder(catalogBuilder, publisher, ObjectTypes.RESOURCE);
//dcat:dataset
if (!uris.isEmpty()) {
addPredicateToBuilder(catalogBuilder, "dcat:dataset");
addObjectsToBuilder(catalogBuilder, uris, ObjectTypes.RESOURCE);
}
//foaf:homepage
if (cfg.getBaseUrl() != null) {
addPredicateToBuilder(catalogBuilder, "foaf:homepage");
addObjectToBuilder(catalogBuilder, cfg.getBaseUrl(), ObjectTypes.RESOURCE);
}
//dct:issued
if (firstPublishedDatePresent) {
addPredicateToBuilder(catalogBuilder, "dct:issued");
addObjectToBuilder(catalogBuilder, parseToIsoDate(firstCreation), ObjectTypes.LITERAL);
}
//dct:modified
if (lastPublishedDatePresent) {
addPredicateToBuilder(catalogBuilder, "dct:modified");
addObjectToBuilder(catalogBuilder, parseToIsoDate(lastModification), ObjectTypes.LITERAL);
}
//dcat:themeTaxonomy
String themeTaxonomyUri = settings.get(THEME_TAXONOMY_URI_KEY);
String catalogThemeTitle = settings.get(CATALOG_THEME_TITLE_KEY);
if (themeTaxonomyUri != null && catalogThemeTitle != null) {
addPredicateToBuilder(catalogBuilder, "dcat:themeTaxonomy");
themeTaxonomies.add(
encapsulateObject(themeTaxonomyUri, ObjectTypes.RESOURCE) + " a skos:ConceptScheme ; dct:title \""
+ catalogThemeTitle + "\"@en .");
addObjectToBuilder(catalogBuilder, themeTaxonomyUri, ObjectTypes.RESOURCE);
}
//dct:rights
String catalogRights = settings.get(CATALOG_RIGHTS_KEY);
if (catalogRights != null) {
addPredicateToBuilder(catalogBuilder, "dct:license");
addObjectToBuilder(catalogBuilder, catalogRights, ObjectTypes.RESOURCE);
}
//dct:spatial
if (cfg.getLongitude() != null && cfg.getLatitude() != null) {
addPredicateToBuilder(catalogBuilder, "dct:spatial");
String spatial =
" a dct:Location ; locn:geometry \"" + "{ \\\"type\\\": \\\"Point\\\", \\\"coordinates\\\": [ " + cfg
.getLongitude() + "," + cfg.getLatitude() + " ] }\" ";
addObjectToBuilder(catalogBuilder, spatial, ObjectTypes.OBJECT);
} else {
LOG.debug("No spatial data defined for the IPT");
}
//dct:language
String languageLink = settings.get(LANGUAGE_LINK_KEY);
if (languageLink != null) {
languageLink = languageLink + "en";
addPredicateToBuilder(catalogBuilder, "dct:language");
addObjectToBuilder(catalogBuilder, languageLink, ObjectTypes.RESOURCE);
}
} else {
LOG.error("IPT has not been registered yet");